﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DTO;
using System.Data.SqlClient;

namespace DAL
{
    public class ThucDon_DAL
    {
        private DataProvider _provider = new DataProvider();
	
		    public ThucDon_DAL()
		    {
			    _provider.connect();
		    }
            public void ThemThucDon(ThucDon_DTO td)
            {
                string insertCommand = @"INSERT INTO THUCDON (Ngay, Thu, Ansang, Angiuagio, Antrua, Anxe) VALUES('" +
                       td.Ngay + "', '" +  td.Thu + "','" + td.Ansang + "','" + td.Angiuagio + "','" + td.Antrua + "','" + td.Anxe + "')";

                _provider.executeNonQuery(insertCommand);
            }
            public List<ThucDon_DTO> DS_ThucDon()
            {

                SqlDataReader reader = (SqlDataReader)_provider.executeQuery("DS_ThucDon");

                List<ThucDon_DTO> List_TD = new List<ThucDon_DTO>();

                while (reader.Read())
                {
                    ThucDon_DTO TD = new ThucDon_DTO();
                    TD.MaTD = int.Parse(reader["MaTD"].ToString());
                    TD.Ngay = Convert.ToDateTime(reader["Ngay"]);
                    TD.Thu = reader["Thu"].ToString();
                    TD.Ansang = reader["Ansang"].ToString();
                    TD.Angiuagio = reader["Angiuagio"].ToString();
                    TD.Antrua = reader["Antrua"].ToString();
                    TD.Anxe = reader["Anxe"].ToString();

                    List_TD.Add(TD);
                }

                reader.Close();
                return List_TD;
            }
            public List<ThucDon_DTO> DS_ThucDonTheoThu(string thu)
            {
                // Một list các parameter
                List<SqlParameter> paramters = new List<SqlParameter>();
                paramters.Add(new SqlParameter("@Thu", thu));

                //string query = "SELECT * FROM HOCSINH WHERE MAHS LIKE '%"+ MaHS +"%'";

                // Gọi hàm excute sử dujg procedure có parameter
                SqlDataReader reader = (SqlDataReader)_provider.executeQueryParameter("DS_ThucDonTheoThu", paramters);

                List<ThucDon_DTO> List_TD = new List<ThucDon_DTO>();

                while (reader.Read())
                {
                    ThucDon_DTO TD = new ThucDon_DTO();
                    TD.MaTD = int.Parse(reader["MaTD"].ToString());
                    TD.Ngay = Convert.ToDateTime(reader["Ngay"]);
                    TD.Thu = reader["Thu"].ToString();
                    TD.Ansang = reader["Ansang"].ToString();
                    TD.Angiuagio = reader["Angiuagio"].ToString();
                    TD.Antrua = reader["Antrua"].ToString();
                    TD.Anxe = reader["Anxe"].ToString();
                   

                    List_TD.Add(TD);
                }

                reader.Close();
                return List_TD;
            }

          
            public List<ThucDon_DTO> DS_ThucDonTheoNgay(DateTime ngay)
            {
                // Một list các parameter
                List<SqlParameter> paramters = new List<SqlParameter>();
                paramters.Add(new SqlParameter("@Ngay", ngay));

                //string query = "SELECT * FROM HOCSINH WHERE MAHS LIKE '%"+ MaHS +"%'";

                // Gọi hàm excute sử dujg procedure có parameter
                SqlDataReader reader = (SqlDataReader)_provider.executeQueryParameter("DS_ThucDonTheoNgay", paramters);

                List<ThucDon_DTO> List_TD = new List<ThucDon_DTO>();

                while (reader.Read())
                {
                    ThucDon_DTO TD = new ThucDon_DTO();
                    TD.MaTD = int.Parse(reader["MaTD"].ToString());
                    TD.Ngay = Convert.ToDateTime(reader["Ngay"]);
                    TD.Thu = reader["Thu"].ToString();
                    TD.Ansang = reader["Ansang"].ToString();
                    TD.Angiuagio = reader["Angiuagio"].ToString();
                    TD.Antrua = reader["Antrua"].ToString();
                    TD.Anxe = reader["Anxe"].ToString();


                    List_TD.Add(TD);
                }

                reader.Close();
                return List_TD;
            }
            public void Xoa(ThucDon_DTO td)
            {
                string deleteCommand = "DELETE FROM THUCDON WHERE MaTD = " + td.MaTD;
                
                _provider.executeNonQuery(deleteCommand);
                
            }
            public void Sua(ThucDon_DTO td)
            {
                string updateCommand = "UPDATE THUCDON SET Ngay='" + td.Ngay.ToShortDateString() + "', Thu='" + td.Thu + "', Ansang='" + td.Ansang + "', Angiuagio='" + td.Angiuagio + "', Antrua='" + td.Antrua + "', Anxe='" + td.Anxe + 
                                       "' WHERE MaTD=" + td.MaTD;
                _provider.executeNonQuery(updateCommand);
            }
    }
}
